package com.yuelao.yuelao_backend.dto;

import lombok.Data;

/**
 * 文件信息DTO
 */
@Data
public class FileInfoDTO {
    
    /**
     * 文件名
     */
    private String fileName;
    
    /**
     * 文件大小（字节）
     */
    private Long fileSize;
    
    /**
     * 文件类型
     */
    private String fileType;
    
    /**
     * 文件访问URL
     */
    private String fileUrl;
    
    /**
     * 缩略图URL（用于视频）
     */
    private String thumbnailUrl;
    
    /**
     * 语音时长（秒）
     */
    private Integer duration;
    
    /**
     * 文件格式化大小
     */
    public String getFormattedFileSize() {
        if (fileSize == null) {
            return "0 B";
        }
        
        if (fileSize < 1024) {
            return fileSize + " B";
        } else if (fileSize < 1024 * 1024) {
            return String.format("%.1f KB", fileSize / 1024.0);
        } else if (fileSize < 1024 * 1024 * 1024) {
            return String.format("%.1f MB", fileSize / (1024.0 * 1024.0));
        } else {
            return String.format("%.1f GB", fileSize / (1024.0 * 1024.0 * 1024.0));
        }
    }
}